<?php

class Administracao extends CI_Controller {
    
     function index(){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){
                $this->jogador();
            }
            else{
                redirect('majoribol');
            }
        }
        else{
            redirect('usuario/login');
        }
    }
    
                
    
    function _example_output($output = null){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){
                $this->load->view('adm/administracao',$output);
            }
            else{
                redirect('majoribol');
            }
        }else{
            redirect('usuario/login');
        }
    }
            
    function jogador(){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){
                $this->load->library('grocery_CRUD');

                $crud = new grocery_CRUD();

                $crud->set_table('majoribol_jogadores')
                    ->set_subject('Jogadores')
                    ->columns('nome','info','majoribol_posicoes_id','majoribol_time_id')
                    ->display_as('majoribol_posicoes_id','Posição')
                    ->display_as('majoribol_time_id','Time')
                    ->set_relation('majoribol_time_id','majoribol_times','time')
                    ->set_relation('majoribol_posicoes_id','majoribol_posicoes','posicao');

                $crud->fields('nome','info','majoribol_posicoes_id','majoribol_time_id');
                $crud->required_fields('nome','majoribol_posicoes_id','majoribol_time_id');

                $output = $crud->render();

                $this->_example_output($output);
            }
            else{
                redirect('majoribol');
            }
        }
        else{
            redirect('usuario/login');
        }
    }
    
    function usuario(){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){    
                $this->load->library('grocery_CRUD');

                $crud = new grocery_CRUD();

                $crud->set_table('usuarios')
                    ->set_subject('Usuarios')
                    ->columns('nome','senha','email','majoribol_times_id', 'admin')
                    ->display_as('majoribol_times_id','Time')
                    ->set_relation('majoribol_times_id','majoribol_times','time')
                    ->change_field_type('senha', 'password');

                $crud->callback_before_insert(array($this,'encrypt_password_callback'));
                $crud->callback_before_update(array($this,'encrypt_password_callback'));

                $crud->fields('nome','senha','email','majoribol_times_id', 'admin');
                $crud->required_fields('nome','email','majoribol_times_id');

                $output = $crud->render();

                $this->_example_output($output);
            }
            else{
                redirect('majoribol');
            }
        }else{
            redirect('usuario/login');
        }
    }
    
    function times(){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){    
                $this->load->library('grocery_CRUD');

                $crud = new grocery_CRUD();

                $crud->set_table('majoribol_times')
                    ->set_subject('Times')
                    ->columns('time','escudo', 'cor1', 'cor2')
                    ->display_as('time','Time')
                    ->display_as('escudo','Escudo')
                    ->display_as('cor1','Cor primária')
                    ->display_as('cor2','Cor secundária');

                $crud->fields('time','escudo', 'cor1', 'cor2');
                $crud->required_fields('time','escudo', 'cor1', 'cor2');

                $output = $crud->render();

                $this->_example_output($output);
            
                $this->load->library('grocery_CRUD');

                $crud = new grocery_CRUD();

                $crud->set_table('majoribol_posicoes')
                    ->set_subject('Posições')
                    ->columns('posicao')
                    ->display_as('posicao','Posição');

                $crud->fields('posicao');
                $crud->required_fields('posicao');

                $output = $crud->render();
                }else{
                redirect('majoribol');
            }
        }else{
            redirect('usuario/login');
        }
    }
                
    function posicoes(){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){
                $this->load->library('grocery_CRUD');

                $crud = new grocery_CRUD();

                $crud->set_table('majoribol_posicoes')
                    ->set_subject('Posições')
                    ->columns('posicao')
                    ->display_as('posicao','Posição');

                $crud->fields('posicao');
                $crud->required_fields('posicao');

                $output = $crud->render();

                $this->_example_output($output);
            }else{
                redirect('majoribol');
            }
        }else{
            redirect('usuario/login');
        }
    }
    
    function rodadas(){
        if($this->session->userdata('id')){ 
            if($this->session->userdata('admin')){

                $this->load->library('grocery_CRUD');

                $crud = new grocery_CRUD();

                $crud->set_table('majoribol_rodada')
                    ->set_subject('Rodada')
                    ->columns('rodada','inicio', 'fim')
                    ->display_as('rodada','Rodada')
                    ->display_as('inicio','Data de início da Rodada')
                    ->display_as('fim','Data de fim da Rodada');

                $crud->fields('rodada','inicio', 'fim');
                $crud->required_fields('rodada','inicio', 'fim');

                $output = $crud->render();

                $this->_example_output($output);
            }else{
            redirect('majoribol');
            }
        }else{
            redirect('usuario/login');
        }
    }

    function encrypt_password_callback($post_array){
        if($this->session->userdata('id')){ 
                if($this->session->userdata('admin')){    
                    $post_array['senha'] = md5($post_array['senha']);
                    return $post_array;
                }else{
                    redirect('majoribol');
                }
        }else{
            redirect('usuario/login');
        }
    }


}
?>